package com.ruoyi.labdanger.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.labdata.domain.LabFile;

/**
 * 在用化学品对象 lab_apply_purchase_details
 * 
 * @author winner pan
 * @date 2022-03-04
 */
public class LabApplyPurchaseDetails extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/** 申请采购明细ID */
	private Long purchaseDetailId;
	
	private Long orgId;
	
	private Integer scanoutNum;
	
	private Integer scaninNum;
	
	private Integer usedNum;
	
	private Integer finishedNum;
	
    public Integer getUsedNum() {
		return usedNum;
	}

	public void setUsedNum(Integer usedNum) {
		this.usedNum = usedNum;
	}

	public Integer getFinishedNum() {
		return finishedNum;
	}

	public void setFinishedNum(Integer finishedNum) {
		this.finishedNum = finishedNum;
	}


	public Integer getScanoutNum() {
		return scanoutNum;
	}

	public void setScanoutNum(Integer scanoutNum) {
		this.scanoutNum = scanoutNum;
	}

	public Integer getScaninNum() {
		return scaninNum;
	}

	public void setScaninNum(Integer scaninNum) {
		this.scaninNum = scaninNum;
	}

	public Long getOrgId() {
		return orgId;
	}

	public void setOrgId(Long orgId) {
		this.orgId = orgId;
	}

	/** 申请采购ID */
	@Excel(name = "申请采购ID")
	private Long instanceId;
	
	private Long purchaseId;
	
	private Integer isRemoved;
	
	public Integer getIsRemoved() {
		return isRemoved;
	}

	public void setIsRemoved(Integer isRemoved) {
		this.isRemoved = isRemoved;
	}

	public Long getPurchaseId() {
		return purchaseId;
	}

	public void setPurchaseId(Long purchaseId) {
		this.purchaseId = purchaseId;
	}

	/** 申购老师 */
	@Excel(name = "申购老师")
	private String applyTeacher;

	/** CAS编号 */
	@Excel(name = "CAS编号")
	private String casNo;

	/** 危化品名称 */
	@Excel(name = "危化品名称")
	private String materialName;

	/** 类别 */
	@Excel(name = "类别")
	private Long hazardousOpt;

	/** 型号规格 */
	@Excel(name = "型号规格")
	private String model;

	/** 单位 */
	@Excel(name = "单位")
	private Long unitOpt;

	/** 购置数量 */
	@Excel(name = "购置数量")
	private String quantity;

	/** 建议采购厂家 */
	@Excel(name = "建议采购厂家")
	private String recommendedManufacturer;

	/** 期望到贷日期 */
	private String orderCode;
	
	private String remark;
	

	public String getOrderCode() {
		return orderCode;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	/** 入库日期 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
	private Date storageTime;

	/** 库存数量 */
	@Excel(name = "库存数量")
	private Long inventoryNum;
	
	private Integer purchaseStatus;
	
	private String invoiceNo;
	
	private String cooperation;
	
	private String reimbursementCode;
	
	private String packageWeight;
	
	private BigDecimal realWeight;
	
	public BigDecimal getRealWeight() {
		return realWeight;
	}

	public void setRealWeight(BigDecimal realWeight) {
		this.realWeight = realWeight;
	}

	private List<LabFile> contractFiles;
	private List<LabFile> inoviceFiles;
	private List<LabFile> reimbursementFiles;
	
	public List<LabFile> getContractFiles() {
		return contractFiles;
	}

	public void setContractFiles(List<LabFile> contractFiles) {
		this.contractFiles = contractFiles;
	}

	public List<LabFile> getInoviceFiles() {
		return inoviceFiles;
	}

	public void setInoviceFiles(List<LabFile> inoviceFiles) {
		this.inoviceFiles = inoviceFiles;
	}

	public List<LabFile> getReimbursementFiles() {
		return reimbursementFiles;
	}

	public void setReimbursementFiles(List<LabFile> reimbursementFiles) {
		this.reimbursementFiles = reimbursementFiles;
	}

	public String getInvoiceNo() {
		return invoiceNo;
	}

	public void setInvoiceNo(String invoiceNo) {
		this.invoiceNo = invoiceNo;
	}

	public String getCooperation() {
		return cooperation;
	}

	public void setCooperation(String cooperation) {
		this.cooperation = cooperation;
	}

	public String getReimbursementCode() {
		return reimbursementCode;
	}

	public void setReimbursementCode(String reimbursementCode) {
		this.reimbursementCode = reimbursementCode;
	}

	public String getPackageWeight() {
		return packageWeight;
	}

	public void setPackageWeight(String packageWeight) {
		this.packageWeight = packageWeight;
	}

	public Integer getPurchaseStatus() {
		return purchaseStatus;
	}

	public void setPurchaseStatus(Integer purchaseStatus) {
		this.purchaseStatus = purchaseStatus;
	}

	public void setPurchaseDetailId(Long purchaseDetailId) {
		this.purchaseDetailId = purchaseDetailId;
	}

	public Long getPurchaseDetailId() {
		return purchaseDetailId;
	}

	public Long getInstanceId() {
		return instanceId;
	}

	public void setInstanceId(Long instanceId) {
		this.instanceId = instanceId;
	}

	public String getApplyTeacher() {
		return applyTeacher;
	}

	public void setApplyTeacher(String applyTeacher) {
		this.applyTeacher = applyTeacher;
	}

	public String getCasNo() {
		return casNo;
	}

	public void setCasNo(String casNo) {
		this.casNo = casNo;
	}

	public void setMaterialName(String materialName) {
		this.materialName = materialName;
	}

	public String getMaterialName() {
		return materialName;
	}

	public void setHazardousOpt(Long hazardousOpt) {
		this.hazardousOpt = hazardousOpt;
	}

	public Long getHazardousOpt() {
		return hazardousOpt;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getModel() {
		return model;
	}

	public void setUnitOpt(Long unitOpt) {
		this.unitOpt = unitOpt;
	}

	public Long getUnitOpt() {
		return unitOpt;
	}

	public void setQuantity(String quantity) {
		this.quantity = quantity;
	}

	public String getQuantity() {
		return quantity;
	}

	public void setRecommendedManufacturer(String recommendedManufacturer) {
		this.recommendedManufacturer = recommendedManufacturer;
	}

	public String getRecommendedManufacturer() {
		return recommendedManufacturer;
	}


	public void setStorageTime(Date storageTime) {
		this.storageTime = storageTime;
	}

	public Date getStorageTime() {
		return storageTime;
	}

	public void setInventoryNum(Long inventoryNum) {
		this.inventoryNum = inventoryNum;
	}

	public Long getInventoryNum() {
		return inventoryNum;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
				.append("purchaseDetailId", getPurchaseDetailId()).append("instanceId", getInstanceId())
				.append("materialName", getMaterialName()).append("hazardousOpt", getHazardousOpt())
				.append("model", getModel()).append("unitOpt", getUnitOpt()).append("quantity", getQuantity())
				.append("recommendedManufacturer", getRecommendedManufacturer())
				.append("storageTime", getStorageTime())
				.append("inventoryNum", getInventoryNum()).toString();
	}
}
